<?php

/**
 * 長いURLを短くする関数
 * http://bit.ly/ の転送サービスを使っています。
 *
 * 引数：str: 長いURL
 * 引数：str: Bit.lyのAPI Login
 * 引数：str: API Key
 * 戻り値：
 *   string ：(短くなったURL）
 *   失敗している場合はエラー内容
 * 注意：戻り値がTRUEの時点でSmartyのクラスはロードされています。
 */
if(!function_exists('short_url')){

    function short_url($sLongURL,$sApiLogin,$sApiKey){

        if(!function_exists('json_decode')) die('Error: To use short_url you need json_decode function.(PHP5.2.x)');

        //see http://code.google.com/p/bitly-api/wiki/ApiDocumentation
        $sApiVersion = "2.0.1";
        $sUrl        = rawurlencode($sLongURL);
        $sFormat     = "json";

        $sRequestURL = "http://api.bit.ly/shorten?version={$sApiVersion}&longUrl={$sUrl}&login={$sApiLogin}&apiKey={$sApiKey}";
        fPrint_r($sRequestURL);
        $jResult     = file_get_contents($sRequestURL);
        $aResult     = json_decode($jResult,TRUE);

        if($aResult['statusCode']=="OK"){
            $aItem = array_pop($aResult['results']);
            return $aItem['shortUrl'];
        }
        else{
            return $aResult['errorMessage'];
        }
    }
}

?>
